package nancal.mp.db.mongo.table

import java.io.*
import nbcp.base.db.*
import nbcp.base.comm.*
import nbcp.base.extend.*
import nbcp.base.enums.*
import nbcp.base.utils.*
import nbcp.myoql.db.*
import nbcp.myoql.db.comm.*
import nbcp.myoql.db.enums.*
import nbcp.myoql.db.mongo.*
import nbcp.myoql.db.mongo.base.*
import nbcp.myoql.db.mongo.component.*
import org.slf4j.LoggerFactory
import org.springframework.stereotype.*


@Component("mongo.corp")
@MetaDataGroup(DatabaseEnum.Mongo, "corp")
class CorpGroup : IDataGroup {
    override fun getEntities(): Set<BaseMetaData<out Any>> = setOf(corpCategory, corpDestroyRequest, corpFeeLog, corpLoginUser, corpProject, corpRegisteRequest, corpRole, corpUser, corporation, departmentInfo, dev2Role, devopsRole, digitSignInfo, feedBackInfo, lDAPUser, logisticsInfo, saasMenusDevops, warehouseInfo)



    val corpCategory get() = CorpCategoryEntity();




    val corpDestroyRequest get() = CorpDestroyRequestEntity();




    val corpFeeLog get() = CorpFeeLogEntity();




    val corpLoginUser get() = CorpLoginUserEntity();



    /**
     * 项目 v2废弃
     */
    val corpProject get() = CorpProjectEntity();




    val corpRegisteRequest get() = CorpRegisteRequestEntity();



    /**
     * 企业角色 v2废弃
     */
    val corpRole get() = CorpRoleEntity();




    val corpUser get() = CorpUserEntity();




    val corporation get() = CorporationEntity();



    /**
     * 公司部门
     */
    val departmentInfo get() = DepartmentInfoEntity();



    /**
     * devops V2 角色 控制首页选项卡
     */
    val dev2Role get() = Dev2RoleEntity();



    /**
     * devops 角色 v2废弃
     */
    val devopsRole get() = DevopsRoleEntity();




    val digitSignInfo get() = DigitSignInfoEntity();



    /**
     * 用户反馈信息
     */
    val feedBackInfo get() = FeedBackInfoEntity();



    /**
     * LDAP用户
     */
    val lDAPUser get() = LDAPUserEntity();




    val logisticsInfo get() = LogisticsInfoEntity();




    val saasMenusDevops get() = SaasMenusDevopsEntity();




    val warehouseInfo get() = WarehouseInfoEntity();



    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class CorpCategoryEntity(collectionName: String = "corpCategory") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpCategory>(nancal.mp.db.mongo.entity.CorpCategory::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val code = MongoColumnName("code")

        val english = MongoColumnName("english")

        val parentPath = IdCodeNameMeta("parentPath")

        val logo = IdUrlMeta("logo")

        val order = MongoColumnName("order")

        val corpId = MongoColumnName("corpId")

        val sysCategoryPath = IdCodeNameMeta("sysCategoryPath")

        val banner = IdUrlMeta("banner")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.myoql.db.comm.RemoveToSysDustbin
    class CorpDestroyRequestEntity(collectionName: String = "corpDestroyRequest") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpDestroyRequest>(nancal.mp.db.mongo.entity.CorpDestroyRequest::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 组织名称
         */
        @nbcp.base.db.annotation.Cn(value = """组织名称""") 
        val name = MongoColumnName("name")

        val reason = MongoColumnName("reason")

        val remark = MongoColumnName("remark")

        val validateCode = MongoColumnName("validateCode")

        /**
         * 网站地址
         */
        @nbcp.base.db.annotation.Cn(value = """网站地址""") 
        val siteUrl = MongoColumnName("siteUrl")

        /**
         * 网站备案号
         */
        @nbcp.base.db.annotation.Cn(value = """网站备案号""") 
        val siteNumber = MongoColumnName("siteNumber")

        /**
         * 所在城市
         */
        @nbcp.base.db.annotation.Cn(value = """所在城市""") 
        val city = CityCodeNameMeta("city")

        /**
         * 营业执照
         */
        @nbcp.base.db.annotation.Cn(value = """营业执照""") 
        val businessLicense = BusinessLicenseDataMeta("businessLicense")

        /**
         * 徽标
         */
        @nbcp.base.db.annotation.Cn(value = """徽标""") 
        val logo = IdUrlMeta("logo")

        /**
         * 是否已锁定
         */
        @nbcp.base.db.annotation.Cn(value = """是否已锁定""") 
        val isLocked = MongoColumnName("isLocked")

        /**
         * 锁定详情
         */
        @nbcp.base.db.annotation.Cn(value = """锁定详情""") 
        val lockedRemark = MongoColumnName("lockedRemark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class CorpFeeLogEntity(collectionName: String = "corpFeeLog") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpFeeLog>(nancal.mp.db.mongo.entity.CorpFeeLog::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val code = MongoColumnName("code")

        val type = MongoColumnName("type")

        val amount = MongoColumnName("amount")

        val remark = MongoColumnName("remark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.base.db.annotation.DbEntityIndex(value = arrayOf("""id"""), unique = true)
    @nbcp.base.db.annotation.DbEntityIndexes(value = arrayOf(nbcp.base.db.annotation.DbEntityIndex(value = arrayOf("""loginName"""), unique = true)))
    class CorpLoginUserEntity(collectionName: String = "corpLoginUser") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpLoginUser>(nancal.mp.db.mongo.entity.CorpLoginUser::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val errorLoginTimes = MongoColumnName("errorLoginTimes")

        val forget_password = MongoColumnName("forget_password")

        /**
         * 登录名
         */
        @nbcp.base.db.annotation.Cn(value = """登录名""") 
        val loginName = MongoColumnName("loginName")

        /**
         * 登录手机
         */
        @nbcp.base.db.annotation.Cn(value = """登录手机""") 
        val mobile = MongoColumnName("mobile")

        /**
         * 登录邮箱
         */
        @nbcp.base.db.annotation.Cn(value = """登录邮箱""") 
        val email = MongoColumnName("email")

        /**
         * 密码
         */
        @nbcp.base.db.annotation.Cn(value = """密码""") 
        val password = MongoColumnName("password")

        /**
         * 最后登录时间
         */
        @nbcp.base.db.annotation.Cn(value = """最后登录时间""") 
        val lastLoginAt = MongoColumnName("lastLoginAt")

        /**
         * 是否已锁定
         */
        @nbcp.base.db.annotation.Cn(value = """是否已锁定""") 
        val isLocked = MongoColumnName("isLocked")

        /**
         * 锁定详情
         */
        @nbcp.base.db.annotation.Cn(value = """锁定详情""") 
        val lockedRemark = MongoColumnName("lockedRemark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

        fun queryByLoginName(loginName: String): MongoQueryClip<CorpLoginUserEntity, nancal.mp.db.mongo.entity.CorpLoginUser> {
            return this.query().where { it.loginName mongoEquals loginName }
        }


        fun deleteByLoginName(loginName: String): MongoDeleteClip<CorpLoginUserEntity> {
            return this.delete().where { it.loginName mongoEquals loginName }
        }

        fun updateByLoginName(loginName: String): MongoUpdateClip<CorpLoginUserEntity, nancal.mp.db.mongo.entity.CorpLoginUser> {
            return this.update().where { it.loginName mongoEquals loginName }
        }
        
        


        fun queryById(id: String): MongoQueryClip<CorpLoginUserEntity, nancal.mp.db.mongo.entity.CorpLoginUser> {
            return this.query().where { it.id mongoEquals id }
        }


        fun deleteById(id: String): MongoDeleteClip<CorpLoginUserEntity> {
            return this.delete().where { it.id mongoEquals id }
        }

        fun updateById(id: String): MongoUpdateClip<CorpLoginUserEntity, nancal.mp.db.mongo.entity.CorpLoginUser> {
            return this.update().where { it.id mongoEquals id }
        }
        
        

    }

    /**
     * 项目 v2废弃
     */
    @nbcp.base.db.annotation.Cn(value = """项目 v2废弃""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class CorpProjectEntity(collectionName: String = "corpProject") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpProject>(nancal.mp.db.mongo.entity.CorpProject::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 项目名称
         */
        @nbcp.base.db.annotation.Cn(value = """项目名称""") 
        val name = MongoColumnName("name")

        /**
         * 开始时间
         */
        @nbcp.base.db.annotation.Cn(value = """开始时间""") 
        val startAt = MongoColumnName("startAt")

        /**
         * 结束时间
         */
        @nbcp.base.db.annotation.Cn(value = """结束时间""") 
        val endAt = MongoColumnName("endAt")

        /**
         * 描述
         */
        @nbcp.base.db.annotation.Cn(value = """描述""") 
        val remark = MongoColumnName("remark")

        val users = UserProjectDefineMeta("users")

        /**
         * 公司
         */
        @nbcp.base.db.annotation.Cn(value = """公司""") 
        val corp = IdNameMeta("corp")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.myoql.db.comm.RemoveToSysDustbin
    class CorpRegisteRequestEntity(collectionName: String = "corpRegisteRequest") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpRegisteRequest>(nancal.mp.db.mongo.entity.CorpRegisteRequest::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 组织名称
         */
        @nbcp.base.db.annotation.Cn(value = """组织名称""") 
        val name = MongoColumnName("name")

        val status = MongoColumnName("status")

        val approveMessage = MongoColumnName("approveMessage")

        val remark = MongoColumnName("remark")

        val buildAt = MongoColumnName("buildAt")

        val personCount = MongoColumnName("personCount")

        val concatName = MongoColumnName("concatName")

        val phone = MongoColumnName("phone")

        val email = MongoColumnName("email")

        val keywords = MongoColumnName("keywords")

        val banner = IdUrlMeta("banner")

        val corpWxSetting = CorpWxSettingMeta("corpWxSetting")

        val address = MongoColumnName("address")

        val weixin = MongoColumnName("weixin")

        val industry = MongoColumnName("industry")

        val qualifications = IdUrlMeta("qualifications")

        val images = IdUrlMeta("images")

        val h1 = MongoColumnName("h1")

        val h2 = MongoColumnName("h2")

        val h3 = MongoColumnName("h3")

        val headerImg = MongoColumnName("headerImg")

        /**
         * 网站地址
         */
        @nbcp.base.db.annotation.Cn(value = """网站地址""") 
        val siteUrl = MongoColumnName("siteUrl")

        /**
         * 网站备案号
         */
        @nbcp.base.db.annotation.Cn(value = """网站备案号""") 
        val siteNumber = MongoColumnName("siteNumber")

        /**
         * 所在城市
         */
        @nbcp.base.db.annotation.Cn(value = """所在城市""") 
        val city = CityCodeNameMeta("city")

        /**
         * 营业执照
         */
        @nbcp.base.db.annotation.Cn(value = """营业执照""") 
        val businessLicense = BusinessLicenseDataMeta("businessLicense")

        /**
         * 徽标
         */
        @nbcp.base.db.annotation.Cn(value = """徽标""") 
        val logo = IdUrlMeta("logo")

        /**
         * 是否已锁定
         */
        @nbcp.base.db.annotation.Cn(value = """是否已锁定""") 
        val isLocked = MongoColumnName("isLocked")

        /**
         * 锁定详情
         */
        @nbcp.base.db.annotation.Cn(value = """锁定详情""") 
        val lockedRemark = MongoColumnName("lockedRemark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * 企业角色 v2废弃
     */
    @nbcp.base.db.annotation.Cn(value = """企业角色 v2废弃""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class CorpRoleEntity(collectionName: String = "corpRole") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpRole>(nancal.mp.db.mongo.entity.CorpRole::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 角色名称
         */
        @nbcp.base.db.annotation.Cn(value = """角色名称""") 
        val name = MongoColumnName("name")

        /**
         * 运维
         */
        @nbcp.base.db.annotation.Cn(value = """运维""") 
        val devOps = SaasMenusDevopsMeta("devOps")

        val forMake = SaasMenusMakeMeta("forMake")

        val forDevelopment = SaasMenusDevelopmentMeta("forDevelopment")

        val forData = SaasMenusDataMeta("forData")

        val forManagement = SaasMenusManagementMeta("forManagement")

        /**
         * 公司
         */
        @nbcp.base.db.annotation.Cn(value = """公司""") 
        val corp = IdNameMeta("corp")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.base.db.annotation.DbEntityIndexes(value = arrayOf(nbcp.base.db.annotation.DbEntityIndex(value = arrayOf("""loginName"""), unique = true)))
    @nbcp.myoql.db.comm.RemoveToSysDustbin
    class CorpUserEntity(collectionName: String = "corpUser") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.CorpUser>(nancal.mp.db.mongo.entity.CorpUser::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 昵称
         */
        @nbcp.base.db.annotation.Cn(value = """昵称""") 
        val name = MongoColumnName("name")

        val address = MongoColumnName("address")

        /**
         * mysql系统保存的Id
         */
        @nbcp.base.db.annotation.Cn(value = """mysql系统保存的Id""") 
        val mysqlId = MongoColumnName("mysqlId")

        val wxUserInfo = WxUserDataMeta("wxUserInfo")

        val corp = IdNameMeta("corp")

        val dept = IdNameMeta("dept")

        val depts = DeptDefineMeta("depts")

        val roles = IdNameMeta("roles")

        val devroles = IdNameMeta("devroles")

        val dev2roles = IdNameMeta("dev2roles")

        val isAdmin = MongoColumnName("isAdmin")

        val status = MongoColumnName("status")

        val appUser = IdNameMeta("appUser")

        val app = MongoColumnName("app")

        /**
         * 登录名
         */
        @nbcp.base.db.annotation.Cn(value = """登录名""") 
        val loginName = MongoColumnName("loginName")

        /**
         * 手机号
         */
        @nbcp.base.db.annotation.Cn(value = """手机号""") 
        val mobile = MongoColumnName("mobile")

        /**
         * 电子邮件
         */
        @nbcp.base.db.annotation.Cn(value = """电子邮件""") 
        val email = MongoColumnName("email")

        /**
         * 头像
         */
        @nbcp.base.db.annotation.Cn(value = """头像""") 
        val logo = IdUrlMeta("logo")

        /**
         * 备注
         */
        @nbcp.base.db.annotation.Cn(value = """备注""") 
        val remark = MongoColumnName("remark")

        /**
         * 身份证
         */
        @nbcp.base.db.annotation.Cn(value = """身份证""") 
        val identityCard = IdentityCardDataMeta("identityCard")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

        fun queryByLoginName(loginName: String): MongoQueryClip<CorpUserEntity, nancal.mp.db.mongo.entity.CorpUser> {
            return this.query().where { it.loginName mongoEquals loginName }
        }


        fun deleteByLoginName(loginName: String): MongoDeleteClip<CorpUserEntity> {
            return this.delete().where { it.loginName mongoEquals loginName }
        }

        fun updateByLoginName(loginName: String): MongoUpdateClip<CorpUserEntity, nancal.mp.db.mongo.entity.CorpUser> {
            return this.update().where { it.loginName mongoEquals loginName }
        }
        
        

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.myoql.db.comm.RemoveToSysDustbin
    class CorporationEntity(collectionName: String = "corporation") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.Corporation>(nancal.mp.db.mongo.entity.Corporation::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 组织名称
         */
        @nbcp.base.db.annotation.Cn(value = """组织名称""") 
        val name = MongoColumnName("name")

        val remark = MongoColumnName("remark")

        val buildAt = MongoColumnName("buildAt")

        val personCount = MongoColumnName("personCount")

        val concatName = MongoColumnName("concatName")

        val phone = MongoColumnName("phone")

        val email = MongoColumnName("email")

        val keywords = MongoColumnName("keywords")

        val banner = IdUrlMeta("banner")

        val corpWxSetting = CorpWxSettingMeta("corpWxSetting")

        val address = MongoColumnName("address")

        val weixin = MongoColumnName("weixin")

        val industry = MongoColumnName("industry")

        val qualifications = IdUrlMeta("qualifications")

        val images = IdUrlMeta("images")

        val h1 = MongoColumnName("h1")

        val h2 = MongoColumnName("h2")

        val h3 = MongoColumnName("h3")

        val headerImg = MongoColumnName("headerImg")

        /**
         * 网站地址
         */
        @nbcp.base.db.annotation.Cn(value = """网站地址""") 
        val siteUrl = MongoColumnName("siteUrl")

        /**
         * 网站备案号
         */
        @nbcp.base.db.annotation.Cn(value = """网站备案号""") 
        val siteNumber = MongoColumnName("siteNumber")

        /**
         * 所在城市
         */
        @nbcp.base.db.annotation.Cn(value = """所在城市""") 
        val city = CityCodeNameMeta("city")

        /**
         * 营业执照
         */
        @nbcp.base.db.annotation.Cn(value = """营业执照""") 
        val businessLicense = BusinessLicenseDataMeta("businessLicense")

        /**
         * 徽标
         */
        @nbcp.base.db.annotation.Cn(value = """徽标""") 
        val logo = IdUrlMeta("logo")

        /**
         * 是否已锁定
         */
        @nbcp.base.db.annotation.Cn(value = """是否已锁定""") 
        val isLocked = MongoColumnName("isLocked")

        /**
         * 锁定详情
         */
        @nbcp.base.db.annotation.Cn(value = """锁定详情""") 
        val lockedRemark = MongoColumnName("lockedRemark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * 公司部门
     */
    @nbcp.base.db.annotation.Cn(value = """公司部门""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class DepartmentInfoEntity(collectionName: String = "departmentInfo") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.DepartmentInfo>(nancal.mp.db.mongo.entity.DepartmentInfo::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 部门名称
         */
        @nbcp.base.db.annotation.Cn(value = """部门名称""") 
        val name = MongoColumnName("name")

        /**
         * 所属公司
         */
        @nbcp.base.db.annotation.Cn(value = """所属公司""") 
        val corp = IdNameMeta("corp")

        /**
         * 上级部门
         */
        @nbcp.base.db.annotation.Cn(value = """上级部门""") 
        val parent = IdNameMeta("parent")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * devops V2 角色 控制首页选项卡
     */
    @nbcp.base.db.annotation.Cn(value = """devops V2 角色 控制首页选项卡""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class Dev2RoleEntity(collectionName: String = "dev2role") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.Dev2Role>(nancal.mp.db.mongo.entity.Dev2Role::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val remark = MongoColumnName("remark")

        val devopsFeatures = IdNameMeta("devopsFeatures")

        val corp = IdNameMeta("corp")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * devops 角色 v2废弃
     */
    @nbcp.base.db.annotation.Cn(value = """devops 角色 v2废弃""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class DevopsRoleEntity(collectionName: String = "devopsRole") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.DevopsRole>(nancal.mp.db.mongo.entity.DevopsRole::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val devopsFeatures = MongoColumnName("devopsFeatures")

        val corp = IdNameMeta("corp")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class DigitSignInfoEntity(collectionName: String = "digitSignInfo") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.DigitSignInfo>(nancal.mp.db.mongo.entity.DigitSignInfo::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val corp = IdNameMeta("corp")

        val key = MongoColumnName("key")

        val secret = MongoColumnName("secret")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * 用户反馈信息
     */
    @nbcp.base.db.annotation.Cn(value = """用户反馈信息""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class FeedBackInfoEntity(collectionName: String = "feedBackInfo") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.FeedBackInfo>(nancal.mp.db.mongo.entity.FeedBackInfo::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 所属系统
         */
        @nbcp.base.db.annotation.Cn(value = """所属系统""") 
        val system = MongoColumnName("system")

        /**
         * 反馈枚举
         */
        @nbcp.base.db.annotation.Cn(value = """反馈枚举""") 
        val type = MongoColumnName("type")

        /**
         * 反馈内容
         */
        @nbcp.base.db.annotation.Cn(value = """反馈内容""") 
        val content = MongoColumnName("content")

        /**
         * 关联用户信息
         */
        @nbcp.base.db.annotation.Cn(value = """关联用户信息""") 
        val user = IdNameMeta("user")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

    /**
     * LDAP用户
     */
    @nbcp.base.db.annotation.Cn(value = """LDAP用户""")
    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class LDAPUserEntity(collectionName: String = "ldapuser") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.LDAPUser>(nancal.mp.db.mongo.entity.LDAPUser::class.java, collectionName) {

        val id = MongoColumnName("_id")

        /**
         * 用户姓名
         */
        @nbcp.base.db.annotation.Cn(value = """用户姓名""") 
        val name = MongoColumnName("name")

        /**
         * 真实姓名
         */
        @nbcp.base.db.annotation.Cn(value = """真实姓名""") 
        val realname = MongoColumnName("realname")

        /**
         * 密码
         */
        @nbcp.base.db.annotation.Cn(value = """密码""") 
        val userpassword = MongoColumnName("userpassword")

        /**
         * 身份证号
         */
        @nbcp.base.db.annotation.Cn(value = """身份证号""") 
        val uidnumber = MongoColumnName("uidnumber")

        /**
         * gidnumber
         */
        @nbcp.base.db.annotation.Cn(value = """gidnumber""") 
        val gidnumber = MongoColumnName("gidnumber")

        /**
         * uid
         */
        @nbcp.base.db.annotation.Cn(value = """uid""") 
        val uid = MongoColumnName("uid")

        /**
         * objectclass
         */
        @nbcp.base.db.annotation.Cn(value = """objectclass""") 
        val objectclass = MongoColumnName("objectclass")

        /**
         * 手机号
         */
        @nbcp.base.db.annotation.Cn(value = """手机号""") 
        val mobile = MongoColumnName("mobile")

        /**
         * 邮件
         */
        @nbcp.base.db.annotation.Cn(value = """邮件""") 
        val email = MongoColumnName("email")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class LogisticsInfoEntity(collectionName: String = "logisticsInfo") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.LogisticsInfo>(nancal.mp.db.mongo.entity.LogisticsInfo::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val type = MongoColumnName("type")

        val remark = MongoColumnName("remark")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    @nbcp.myoql.db.comm.RemoveToSysDustbin
    class SaasMenusDevopsEntity(collectionName: String = "saasMenusDevops") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.SaasMenusDevops>(nancal.mp.db.mongo.entity.SaasMenusDevops::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val url = MongoColumnName("url")

        val css = MongoColumnName("css")

        val pages = MongoColumnName("pages")

        val subMenus = SaasMenuItemMeta("subMenus")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }


    @org.springframework.data.mongodb.core.mapping.Document()
    @nbcp.base.db.annotation.DbEntityGroup(value = """corp""")
    class WarehouseInfoEntity(collectionName: String = "warehouseInfo") :
        MongoBaseMetaCollection<nancal.mp.db.mongo.entity.WarehouseInfo>(nancal.mp.db.mongo.entity.WarehouseInfo::class.java, collectionName) {

        val id = MongoColumnName("_id")

        val name = MongoColumnName("name")

        val city = CityCodeNameMeta("city")

        val address = MongoColumnName("address")

        val remark = MongoColumnName("remark")

        val createBy = IdNameMeta("createBy")

        val corp = IdNameMeta("corp")

        /**
         * 创建时间
         */
        @nbcp.base.db.annotation.Cn(value = """创建时间""") 
        val createAt = MongoColumnName("createAt")

        /**
         * 更新时间
         */
        @nbcp.base.db.annotation.Cn(value = """更新时间""") 
        val updateAt = MongoColumnName("updateAt")

    }

}

